有没有什么办法可以用Laravel
CodeBehind创建新的数据库?我的意思是,我无法使用php artisan
或类似的东西。仅仅因为我想为每个注册用户创建一个数据库。之后,我可以使用migration
。 我正在使用Laravel 5.2
。 感谢您的支持。如何使用Laravel创建新的空数据库模型
回答
好吧,你可以为每个bd执行一次数据库查询,而不是使用mysql或者你的sgbd数据库创建命令,例如;
DB::getConnection()->statement('CREATE DATABASE :schema', array('schema' => "dasdsdasdsadsadsa"))
它可能会与你想要的。
是的,它很简单并解决了我的问题。感谢你和每个人回答或评论我的问题。 –
欢迎你。玩的很开心。 –
您可以run artisan commands from code。
Artisan::call('migrate');
运行作曲家命令(你需要它来注册迁移),使用PHP shell_exec
:
shell_exec('composer dumpauto');
我会试试这个,但不是现在。 –
可以使用DB门面像这样(提供的SQL用户具有创建数据库权利这样做):
DB::statement('CREATE DATABASE myNewDB');
但我促请你重新考虑你的数据结构 - 其为每个用户一个单独的数据库很可能不是正确的解决方案是什么您遇到的任何问题都可能造成更多问题,而不是解决问题。
感谢您的建议,我同意你的观点,这有点复杂。但是我们必须为每个用户创建数据库。其实用户不是用户。用户是一家公司。所以公司有很多数据。我无法将它们保存在一个数据库中。顺便说一下,这是一个问题。我是laravel的新手。我将在哪里运行此代码。它将控制器或模型? –
这由你来决定。一般来说,你不会想把太多的逻辑放入laravel控制器中,因为控制器中的代码不能以一种很好的方式被重用,但是如果这种数据库创建只发生在一个地方,那么你就可以避开它。否则,我会尝试使用面向对象的方法,并将数据库创建作为适当实体模型中的方法,如$ company-> createDatabase() –
您可以通过将DBNAME这样
public function index() {
$userName = 'bigboytr'; // Your Database name to be created
DB::statement("CREATE DATABASE $userName");
}
警告创建从控制器多达数据库:
你并不需要为每个用户创建一个数据库,它将使系统非常复杂。 。恩,如果你有成千上万的用户在某些情况下,则移动用户的信息,以注册用户“一般”的数据库将是非常艰难
建议:
什么,我建议你把它创建为未注册的用户提供新表格,以便您可以将它们移动到注册用户的表格,这将使您的过程变得轻松。
提示:
您可以在一些表进行比对数据库引擎,并选择最适合你的比赛像this
- 1. 如何使用PetaPoco库自动创建数据库模型?
- 2. 如何使用模型在钛中创建数据库表?
- 3. Laravel - 如何创建数据库表
- 4. 如何从Laravel的现有数据库创建迁移和模型
- 5. 如何使用Laravel模型访问数据库视图?
- 6. 创建新的核心数据模型
- 7. 如何在Rails模型创建中使用Range数据类型?
- 8. Laravel数据库模式,为空的外
- 9. 为Drupal数据库创建AR模型
- 10. 如何查看我使用DDL创建的mySQL数据库的EER模型
- 11. 使用ADO.NET创建新数据库(.mdb)
- 12. 使用Oracle数据库配置创建空数据库助理
- 13. 如何创建适当的iOS CoreData数据库模型?
- 14. 如何创建数据模型动态
- 15. 如何为船创建数据模型?
- 16. 如何使用sqlcmd创建数据库
- 17. 如何使用FluentNHibernate创建数据库?
- 18. AngularJS - 如何使用模型中的数据创建图形
- 19. 如何在不在Laravel中创建新的数据库请求的情况下获得belongsTo模型?
- 20. Can Laravel根据您创建的数据库模型生成表单吗?
- 21. 如何在Tryton创建新数据库
- 22. 如何使用go-sql-driver创建新的MySQL数据库
- 23. 如何使用PyMongo在MongoDB中创建新的数据库?
- 24. 无法使用模型生成数据库创建数据库表
- 25. Laravel(5) - 如何在'创建'模型操纵器中使用getKey()
- 26. 如何强制python使用dumbdbm模块创建新的数据库?
- 27. 如何在存储过程中使用模式创建新的数据库?
- 28. 从空模型创建实体数据模型
- 29. EF6使用SQLite创建数据库模型首先
- 30. 如何使用Rails 3 gem方法更新数据库模型?
好,所以,对于每一个用户,你要为它创建一个数据库? –
是的,我有商店注册用户的一般数据库。但我需要为每个用户提供新的数据库。 –
这种解决方案被称为“多租户”,这里是描述它的一篇文章[多租户数据架构](https://msdn.microsoft.com/en-us/library/aa479086.aspx) – UselesssCat