gpt4 book ai didi

mysql - 有没有办法在表没有更新权限的情况下使用 rails 迁移创建 MySQL 表?

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:56 25 4
gpt4 key购买 nike

我想创建一个只读表,我认为 MYSQL 权限是最好的方法。

这可以通过迁移实现吗?

最佳答案

生成迁移文件如下,

rails g migration add_permissions_to_table_name    
invoke active_record
create db/migrate/20120620191050_add_permissions_to_table_name.rb

编辑文件如下,

think@thinkComputer:~/Agile/ajax1$ vi db/migrate20120620191050_add_permissions_to_table_name.rb

class AddPermissionsToTableName < ActiveRecord::Migration
def up

execute "GRANT SELECT ON database1.table_name TO 'someuser'@'somehost'"

end

def down

execute "REVOKE SELECT ON database1.table_name TO 'someuser'@'somehost'"

end

end

运行rake任务如下,

$ rake db:migrate

以后如果你想撤销那个权限,那么做,

$ rake db:migrate:down VERSION=20120620191050

您可能希望成为对“database1.table_name”具有授予权限的 mysql 用户,否则您将收到以下错误,

mysql> GRANT SELECT ON database1.table_name TO 'someuser'@'somehost';
ERROR 1142 (42000): GRANT command denied to user 'current_mysql_user'@'localhost' for table 'table_name'

关于mysql用户和数据库的详细信息位于“config/database.yml”

如果这有效,请告诉我!

关于mysql - 有没有办法在表没有更新权限的情况下使用 rails 迁移创建 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com