作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想创建一个只读表,我认为 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/
我是一名优秀的程序员,十分优秀!