Skip to content

Commit adde796

Browse files
committed
Added some technical documentation
1 parent ec08cef commit adde796

File tree

6 files changed

+582
-239
lines changed

6 files changed

+582
-239
lines changed

api-filter.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
apiRules:
22
- exclude:
3-
uidRegex: ^FluentMigrator\.Builders
3+
uidRegex: ^FluentMigrator\.Builders\.
4+
type: Class
+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
uid: tech-fluent-api-alter
3+
title: Fluent API (Alter)
4+
---
5+
6+
# Alter ([IAlterExpressionRoot](xref:FluentMigrator.Builders.Alter.IAlterExpressionRoot))
7+
8+
<pre>
9+
Alter --+- Table --- name ----> IAlterTableAddColumnOrAlterColumnOrSchemaOrDescriptionSyntax
10+
|
11+
+- Column --- name ---> IAlterColumnOnTableSyntax
12+
</pre>
13+
14+
## IAlterTableAddColumnOrAlterColumnOrSchemaOrDescriptionSyntax
15+
16+
<pre>
17+
--------+-----------------------------------+--> IAlterTableAddColumnOrAlterColumnOrSchemaSyntax
18+
| |
19+
+- WithDescription --- description -+
20+
</pre>
21+
22+
## IAlterColumnOnTableSyntax
23+
24+
<pre>
25+
---------- OnTable --- name --> IAlterColumnAsTypeOrInSchemaSyntax
26+
</pre>
27+
28+
## IAlterColumnAsTypeOrInSchemaSyntax
29+
30+
<pre>
31+
--------+-----------------------+--> IAlterColumnAsTypeSyntax
32+
| |
33+
+- InSchema --- schema -+
34+
</pre>
35+
36+
## IAlterColumnAsTypeSyntax
37+
38+
<pre>
39+
---------- IColumnTypeSyntax ---- TNext: IAlterColumnOptionSyntax ---
40+
</pre>
41+
42+
- [IColumnTypeSyntax](xref:tech-fluent-api-common#icolumntypesyntaxtnext)
43+
44+
## IAlterColumnOptionSyntax
45+
46+
<pre>
47+
---------- IColumnOptionSyntax -+--> TNext: IAlterColumnOptionSyntax
48+
|
49+
+--> TNextFk: IAlterColumnOptionOrForeignKeyCascadeSyntax
50+
</pre>
51+
52+
- [IColumnOptionSyntax](xref:tech-fluent-api-common#icolumnoptionsyntaxtnexttnextfk)
53+
54+
## IAlterColumnOptionOrForeignKeyCascadeSyntax
55+
56+
<pre>
57+
--------+--> IAlterColumnOptionSyntax
58+
|
59+
+- IForeignKeyCascadeSyntax -+--> TNext: IAlterColumnOptionSyntax
60+
|
61+
+--> TNextFk: IAlterColumnOptionOrForeignKeyCascadeSyntax
62+
</pre>
63+
64+
- [IForeignKeyCascadeSyntax](xref:tech-fluent-api-common#iforeignkeycascadesyntaxtnexttnextfk)
65+
66+
## IAlterTableAddColumnOrAlterColumnOrSchemaSyntax
67+
68+
<pre>
69+
--------+-----------------------+--> IAlterTableAddColumnOrAlterColumnSyntax
70+
| |
71+
+- InSchema --- schema -+
72+
</pre>
73+
74+
## IAlterTableAddColumnOrAlterColumnSyntax
75+
76+
<pre>
77+
--------+- AddColumn name ---+--> IAlterTableColumnAsTypeSyntax
78+
| |
79+
+- AlterColumn name -+
80+
|
81+
+- ToSchema name -------| (end)
82+
</pre>
83+
84+
## IAlterTableColumnAsTypeSyntax
85+
86+
<pre>
87+
---------- IColumnTypeSyntax ---- TNext: IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax ---
88+
</pre>
89+
90+
- [IColumnTypeSyntax](xref:tech-fluent-api-common#icolumntypesyntaxtnext)
91+
92+
## IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax
93+
94+
<pre>
95+
--------+-------------------------------+--+--> IAlterTableAddColumnOrAlterColumnSyntax
96+
| | |
97+
+- SetExistingRowsTo --- value -+ +--> IColumnOptionSyntax -+--> TNext: IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax
98+
|
99+
+--> TNextFk: IAlterTableColumnOptionOrAddColumnOrAlterColumnOrForeignKeyCascadeSyntax
100+
</pre>
101+
102+
- [IColumnOptionSyntax](xref:tech-fluent-api-common#icolumnoptionsyntaxtnexttnextfk)
103+
104+
## IAlterTableColumnOptionOrAddColumnOrAlterColumnOrForeignKeyCascadeSyntax
105+
106+
<pre>
107+
--------+--> IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax
108+
|
109+
+- IForeignKeyCascadeSyntax -+--> TNext: IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax
110+
|
111+
+--> TNextFk: IAlterTableColumnOptionOrAddColumnOrAlterColumnOrForeignKeyCascadeSyntax
112+
</pre>
113+
114+
- [IForeignKeyCascadeSyntax](xref:tech-fluent-api-common#iforeignkeycascadesyntaxtnexttnextfk)
+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
uid: tech-fluent-api-common
3+
title: Fluent API common parts
4+
---
5+
6+
# IColumnTypeSyntax&lt;TNext&gt;
7+
8+
<pre>
9+
--------+- AsAnsiString -+--------+-------------+---------------+-> TNext
10+
| | | | |
11+
| +- size -+- collation -+ |
12+
| |
13+
+- AsBinary -----+--------+-----------------------------+
14+
| | | |
15+
| +- size -+ |
16+
| |
17+
+- AsBoolean -------------------------------------------+
18+
| |
19+
+- AsByte ----------------------------------------------+
20+
| |
21+
+- AsCurrency ------------------------------------------+
22+
| |
23+
+- AsDate ----------------------------------------------+
24+
| |
25+
+- AsDateTime ------------------------------------------+
26+
| |
27+
+- AsDateTime2 -----------------------------------------+
28+
| |
29+
+- AsDateTimeOffset ------------------------------------+
30+
| |
31+
+- AsDecimal -------------------------------------------+
32+
| |
33+
+- AsDouble --------------------------------------------+
34+
| |
35+
+- AsGuid ----------------------------------------------+
36+
| |
37+
+- AsFixedLengthString --- size -----+-------------+----+
38+
| | | |
39+
| +- collation -+ |
40+
| |
41+
+- AsFixedLengthAnsiString --- size -+-------------+----+
42+
| | | |
43+
| +- collation -+ |
44+
| |
45+
+- AsFloat ---------------------------------------------+
46+
| |
47+
+- AsInt16 ---------------------------------------------+
48+
| |
49+
+- AsInt32 ---------------------------------------------+
50+
| |
51+
+- AsInt64 ---------------------------------------------+
52+
| |
53+
+- AsString -----+--------+-------------+---------------+
54+
| | | | |
55+
| +- size -+- collation -+ |
56+
| |
57+
+- AsTime ----------------------------------------------+
58+
| |
59+
+- AsXml --------+--------+-----------------------------+
60+
| | | |
61+
| +- size -+ |
62+
| |
63+
+- AsCustom --- customType -----------------------------+
64+
</pre>
65+
66+
# IColumnOptionSyntax&lt;TNext,TNextFk&gt;
67+
68+
<pre>
69+
--------+- WithDefault --- method --------------------------------------+--> TNext
70+
| |
71+
+- WithDefaultValue --- value ----------------------------------+
72+
| |
73+
+- WithColumnDescription --- description -----------------------+
74+
| |
75+
+- Identity ----------------------------------------------------+
76+
| |
77+
+- Indexed -----------------------------------------------------+
78+
| |
79+
+- PrimaryKey -+--------+---------------------------------------+
80+
| | | |
81+
| +- name -+ |
82+
| |
83+
+- Nullable ----------------------------------------------------+
84+
| |
85+
+- NotNullable -------------------------------------------------+
86+
| |
87+
+- Unique -----+--------+---------------------------------------+
88+
| | |
89+
| +- name -+
90+
|
91+
+- ForeignKey ---+-------------------------------------------+--+--> TNextFk
92+
| | | |
93+
| +-----------------------+- table --- column-+ |
94+
| | | |
95+
| +- name -+-+----------+-+ |
96+
| | | |
97+
| +- schema -+ |
98+
| |
99+
+- ReferencedBy -+-----------------------+- table --- column-+--+
100+
| |
101+
+- name -+-+----------+-+
102+
| |
103+
+- schema -+
104+
</pre>
105+
106+
# IForeignKeyCascadeSyntax&lt;TNext,TNextFk&gt;
107+
108+
<pre>
109+
--------+- OnDeleteOrUpdate --- rule ---> TNext
110+
|
111+
+- OnDelete --- rule -+---------> TNextFk
112+
| |
113+
+- OnUpdate --- rule -+
114+
</pre>

0 commit comments

Comments
 (0)