Sen YAML ile, DB tasarım yapabilirsiniz. Eğer böyle bir şey (bir köpek daha sahip birden fazla sahibi ve sahipleri ile köpekler hakkında bir aptal örnek gösterir) yapmanız gereken bir NM ilişki yapmak istiyorsanız
---
options:
type: INNODB
collate: utf8_unicode_ci
charset: utf8
Human:
columns:
id:
type: integer(4)
primary: true
autoincrement: true
name:
type: varchar(64)
notnull: true
...
...
relations:
Dogs:
foreignAlias: Humans
class: Dog
ref_class: Human_Dogs
Dog:
columns:
id:
type: integer(4)
autoincrement: true
primary: true
owner:
type: varchar(64)
notnull: true
...
...
relations:
Humans:
foreignAlias: Dogs
class: Human
ref_class: Human_Dogs
Human_Dogs:
columns:
human_id:
type: int(4)
primary: true
dog_id:
type: int(4)
primary: true
relations:
Human:
foreignAlias: Human_Dogs
Dog:
foreignAlias: Human_Dogs
Bu file.yml olacak, yani şimdi bu dosyadan DB üretebilirsiniz. Bunu yapabilir yolu ile çalışan çerçeve veya programının çok bağlıdır. Zaten burada PHP + Doktrini bunu yapmak için basit bir yolu var:
<?php
$options = array(
'packagesPrefix' => 'Plugin',
'baseClassName' => 'MyDoctrineRecord',
'suffix' => '.php'
);
Doctrine_Core::generateModelsFromYaml('/path/to/file.yml', '/path/to/model', $options);
?>
Doğru yapılandırma ile id alanını autogenerate olabilir.
Bu linkte bir öğretici var -> Documentation
Bu size yardımcı olur umarım!