我通常使用SF2和Doctrine,可以自動生成實體,如果您在像MySQL Workbench這樣的軟件中構建模式,則可以執行逆向工程。逆向工程或Laravel中的實體的自動生成?
我是Laravel的新手,所以有辦法做到這兩件事?我會使用Laravel,因爲我要做一個非常小的項目,但是我不想爲所謂的「遷移」編寫所有代碼,看起來很無聊。
所以有一種方法可以在laravel中生成這些東西?也許我必須在Laravel中使用Doctrine呢?
我通常使用SF2和Doctrine,可以自動生成實體,如果您在像MySQL Workbench這樣的軟件中構建模式,則可以執行逆向工程。逆向工程或Laravel中的實體的自動生成?
我是Laravel的新手,所以有辦法做到這兩件事?我會使用Laravel,因爲我要做一個非常小的項目,但是我不想爲所謂的「遷移」編寫所有代碼,看起來很無聊。
所以有一種方法可以在laravel中生成這些東西?也許我必須在Laravel中使用Doctrine呢?
如果要從現有的mysql數據庫生成遷移文件,可以使用名爲XCMer/larry-four-generator的Laravel包。除了逆向工程外,它還有其他一些功能。
Larry Four是一款Laravel 4軟件包,提供先進的模型和 遷移生成功能。感謝Larry,您可以快速地在簡單的DSL中記下您的想法的數據方案,並通過一次點擊即可創建 遷移和模型。拉里還可以分析你現有的數據方案併爲你產生一些魔力。
嘗試原來最好的主分支
https://github.com/XCMer/larry-four-generator/tree/master
或我的擴展模型叉提供額外的功能
https://github.com/XCMer/larry-four-generator/tree/Gadoma-extendedmodels
據我所知,仍然沒有辦法將模式轉換爲遷移文件,只能使用Laravel。但是,您可以:
1)導出你的MySQL架構
mysqldump -u root -p --no-data dbname > schema.sql
2)創建遷移到使用模式
php artisan migration:make create_schema
3)引導您的完整架構
class CreateSchema extends Migration {
public function up()
{
$file = file_get_contents(app_path().'/database/data/full_schema.sql', true);
DB::unprepared($file);
}
public function down()
{
}
}
4)之後,如果您需要對模式進行任何更改,只需創建新的遷移並進行更改即可。
未測試,但應該工作。
我已經創建了一個可以反向工程現有的MySQL數據庫幾個類別: https://stackoverflow.com/a/29584887/3432720
最後似乎larry不能自動生成模型盟友,我必須寫這些叫做「輸入」的東西,我錯了? 遷移已創建,但我更關心模型 –
你是正確的,但無論如何它快速和容易地編寫輸入 - 看看https://github.com/XCMer/larry-four-generator#a-birds -Eye視 – Gadoma