@dbml/core 10.3.0-alpha.0 → 10.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/export/DbmlExporter.cjs +13 -13
- package/lib/export/DbmlExporter.mjs +88 -84
- package/lib/export/MysqlExporter.cjs +8 -8
- package/lib/export/MysqlExporter.mjs +54 -50
- package/lib/export/OracleExporter.cjs +7 -7
- package/lib/export/OracleExporter.mjs +79 -74
- package/lib/export/PostgresExporter.cjs +9 -9
- package/lib/export/PostgresExporter.mjs +82 -78
- package/lib/export/SqlServerExporter.cjs +11 -11
- package/lib/export/SqlServerExporter.mjs +64 -60
- package/lib/model_structure/database.cjs +1 -1
- package/lib/model_structure/database.mjs +56 -53
- package/lib/model_structure/dep.cjs +1 -1
- package/lib/model_structure/dep.mjs +11 -9
- package/lib/model_structure/enum.cjs +1 -1
- package/lib/model_structure/enum.mjs +15 -13
- package/lib/model_structure/enumValue.cjs +1 -1
- package/lib/model_structure/enumValue.mjs +8 -6
- package/lib/model_structure/field.cjs +1 -1
- package/lib/model_structure/field.mjs +10 -8
- package/lib/model_structure/schema.cjs +1 -1
- package/lib/model_structure/schema.mjs +25 -23
- package/lib/model_structure/table.cjs +1 -1
- package/lib/model_structure/table.mjs +43 -40
- package/lib/model_structure/tableGroup.cjs +1 -1
- package/lib/model_structure/tableGroup.mjs +11 -9
- package/lib/model_structure/tablePartial.cjs +1 -1
- package/lib/model_structure/tablePartial.mjs +8 -6
- package/lib/node_modules/lodash-es/_DataView.cjs +1 -0
- package/lib/node_modules/lodash-es/_DataView.mjs +10 -0
- package/lib/node_modules/lodash-es/_Hash.cjs +1 -0
- package/lib/node_modules/lodash-es/_Hash.mjs +20 -0
- package/lib/node_modules/lodash-es/_ListCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_ListCache.mjs +20 -0
- package/lib/node_modules/lodash-es/_Map.cjs +1 -0
- package/lib/node_modules/lodash-es/_Map.mjs +10 -0
- package/lib/node_modules/lodash-es/_MapCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_MapCache.mjs +20 -0
- package/lib/node_modules/lodash-es/_Promise.cjs +1 -0
- package/lib/node_modules/lodash-es/_Promise.mjs +10 -0
- package/lib/node_modules/lodash-es/_Set.cjs +1 -0
- package/lib/node_modules/lodash-es/_Set.mjs +10 -0
- package/lib/node_modules/lodash-es/_SetCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_SetCache.mjs +15 -0
- package/lib/node_modules/lodash-es/_Stack.cjs +1 -0
- package/lib/node_modules/lodash-es/_Stack.mjs +18 -0
- package/lib/node_modules/lodash-es/_Symbol.cjs +1 -0
- package/lib/node_modules/lodash-es/_Symbol.mjs +9 -0
- package/lib/node_modules/lodash-es/_Uint8Array.cjs +1 -0
- package/lib/node_modules/lodash-es/_Uint8Array.mjs +9 -0
- package/lib/node_modules/lodash-es/_WeakMap.cjs +1 -0
- package/lib/node_modules/lodash-es/_WeakMap.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayAggregator.mjs +13 -0
- package/lib/node_modules/lodash-es/_arrayEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayEach.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayFilter.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayFilter.mjs +13 -0
- package/lib/node_modules/lodash-es/_arrayLikeKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayLikeKeys.mjs +19 -0
- package/lib/node_modules/lodash-es/_arrayMap.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayMap.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayPush.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayPush.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayReduce.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayReduce.mjs +11 -0
- package/lib/node_modules/lodash-es/_arraySome.cjs +1 -0
- package/lib/node_modules/lodash-es/_arraySome.mjs +10 -0
- package/lib/node_modules/lodash-es/_asciiToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_asciiToArray.mjs +9 -0
- package/lib/node_modules/lodash-es/_assocIndexOf.cjs +1 -0
- package/lib/node_modules/lodash-es/_assocIndexOf.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseAggregator.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseAssignValue.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseAssignValue.mjs +17 -0
- package/lib/node_modules/lodash-es/_baseEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseEach.mjs +10 -0
- package/lib/node_modules/lodash-es/_baseFlatten.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseFlatten.mjs +18 -0
- package/lib/node_modules/lodash-es/_baseFor.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseFor.mjs +9 -0
- package/lib/node_modules/lodash-es/_baseForOwn.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseForOwn.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGet.mjs +15 -0
- package/lib/node_modules/lodash-es/_baseGetAllKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGetAllKeys.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseGetTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGetTag.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseHasIn.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseHasIn.mjs +9 -0
- package/lib/node_modules/lodash-es/_baseIsArguments.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsArguments.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseIsEqual.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsEqual.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.mjs +34 -0
- package/lib/node_modules/lodash-es/_baseIsMatch.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsMatch.mjs +30 -0
- package/lib/node_modules/lodash-es/_baseIsNative.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsNative.mjs +15 -0
- package/lib/node_modules/lodash-es/_baseIsTypedArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsTypedArray.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseIteratee.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIteratee.mjs +16 -0
- package/lib/node_modules/lodash-es/_baseKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseKeys.mjs +16 -0
- package/lib/node_modules/lodash-es/_baseMatches.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseMatches.mjs +17 -0
- package/lib/node_modules/lodash-es/_baseMatchesProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseMatchesProperty.mjs +21 -0
- package/lib/node_modules/lodash-es/_baseNth.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseNth.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseProperty.mjs +11 -0
- package/lib/node_modules/lodash-es/_basePropertyDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/_basePropertyDeep.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseReduce.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseReduce.mjs +11 -0
- package/lib/node_modules/lodash-es/_baseSlice.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseSlice.mjs +12 -0
- package/lib/node_modules/lodash-es/_baseTimes.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseTimes.mjs +10 -0
- package/lib/node_modules/lodash-es/_baseToString.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseToString.mjs +19 -0
- package/lib/node_modules/lodash-es/_baseTrim.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseTrim.mjs +12 -0
- package/lib/node_modules/lodash-es/_baseUnary.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseUnary.mjs +11 -0
- package/lib/node_modules/lodash-es/_cacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_cacheHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_castFunction.cjs +1 -0
- package/lib/node_modules/lodash-es/_castFunction.mjs +12 -0
- package/lib/node_modules/lodash-es/_castPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_castPath.mjs +15 -0
- package/lib/node_modules/lodash-es/_castSlice.cjs +1 -0
- package/lib/node_modules/lodash-es/_castSlice.mjs +13 -0
- package/lib/node_modules/lodash-es/_copyArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_copyArray.mjs +11 -0
- package/lib/node_modules/lodash-es/_coreJsData.cjs +1 -0
- package/lib/node_modules/lodash-es/_coreJsData.mjs +9 -0
- package/lib/node_modules/lodash-es/_createAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_createAggregator.mjs +18 -0
- package/lib/node_modules/lodash-es/_createBaseEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_createBaseEach.mjs +17 -0
- package/lib/node_modules/lodash-es/_createBaseFor.cjs +1 -0
- package/lib/node_modules/lodash-es/_createBaseFor.mjs +15 -0
- package/lib/node_modules/lodash-es/_createCaseFirst.cjs +1 -0
- package/lib/node_modules/lodash-es/_createCaseFirst.mjs +19 -0
- package/lib/node_modules/lodash-es/_defineProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_defineProperty.mjs +14 -0
- package/lib/node_modules/lodash-es/_equalArrays.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalArrays.mjs +39 -0
- package/lib/node_modules/lodash-es/_equalByTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalByTag.mjs +39 -0
- package/lib/node_modules/lodash-es/_equalObjects.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalObjects.mjs +36 -0
- package/lib/node_modules/lodash-es/_freeGlobal.cjs +1 -0
- package/lib/node_modules/lodash-es/_freeGlobal.mjs +8 -0
- package/lib/node_modules/lodash-es/_getAllKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_getAllKeys.mjs +14 -0
- package/lib/node_modules/lodash-es/_getMapData.cjs +1 -0
- package/lib/node_modules/lodash-es/_getMapData.mjs +13 -0
- package/lib/node_modules/lodash-es/_getMatchData.cjs +1 -0
- package/lib/node_modules/lodash-es/_getMatchData.mjs +21 -0
- package/lib/node_modules/lodash-es/_getNative.cjs +1 -0
- package/lib/node_modules/lodash-es/_getNative.mjs +14 -0
- package/lib/node_modules/lodash-es/_getRawTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_getRawTag.mjs +18 -0
- package/lib/node_modules/lodash-es/_getSymbols.cjs +1 -0
- package/lib/node_modules/lodash-es/_getSymbols.mjs +14 -0
- package/lib/node_modules/lodash-es/_getTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_getTag.mjs +25 -0
- package/lib/node_modules/lodash-es/_getValue.cjs +1 -0
- package/lib/node_modules/lodash-es/_getValue.mjs +9 -0
- package/lib/node_modules/lodash-es/_hasPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_hasPath.mjs +23 -0
- package/lib/node_modules/lodash-es/_hasUnicode.cjs +1 -0
- package/lib/node_modules/lodash-es/_hasUnicode.mjs +11 -0
- package/lib/node_modules/lodash-es/_hashClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashClear.mjs +12 -0
- package/lib/node_modules/lodash-es/_hashDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashDelete.mjs +10 -0
- package/lib/node_modules/lodash-es/_hashGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashGet.mjs +17 -0
- package/lib/node_modules/lodash-es/_hashHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashHas.mjs +13 -0
- package/lib/node_modules/lodash-es/_hashSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_isFlattenable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isFlattenable.mjs +14 -0
- package/lib/node_modules/lodash-es/_isIndex.cjs +1 -0
- package/lib/node_modules/lodash-es/_isIndex.mjs +12 -0
- package/lib/node_modules/lodash-es/_isKey.cjs +1 -0
- package/lib/node_modules/lodash-es/_isKey.mjs +15 -0
- package/lib/node_modules/lodash-es/_isKeyable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isKeyable.mjs +10 -0
- package/lib/node_modules/lodash-es/_isMasked.cjs +1 -0
- package/lib/node_modules/lodash-es/_isMasked.mjs +15 -0
- package/lib/node_modules/lodash-es/_isPrototype.cjs +1 -0
- package/lib/node_modules/lodash-es/_isPrototype.mjs +12 -0
- package/lib/node_modules/lodash-es/_isStrictComparable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isStrictComparable.mjs +12 -0
- package/lib/node_modules/lodash-es/_listCacheClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheClear.mjs +9 -0
- package/lib/node_modules/lodash-es/_listCacheDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheDelete.mjs +13 -0
- package/lib/node_modules/lodash-es/_listCacheGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheGet.mjs +13 -0
- package/lib/node_modules/lodash-es/_listCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheHas.mjs +12 -0
- package/lib/node_modules/lodash-es/_listCacheSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapCacheClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheClear.mjs +18 -0
- package/lib/node_modules/lodash-es/_mapCacheDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheDelete.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapCacheGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheGet.mjs +12 -0
- package/lib/node_modules/lodash-es/_mapCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheHas.mjs +12 -0
- package/lib/node_modules/lodash-es/_mapCacheSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapToArray.mjs +12 -0
- package/lib/node_modules/lodash-es/_matchesStrictComparable.cjs +1 -0
- package/lib/node_modules/lodash-es/_matchesStrictComparable.mjs +11 -0
- package/lib/node_modules/lodash-es/_memoizeCapped.cjs +1 -0
- package/lib/node_modules/lodash-es/_memoizeCapped.mjs +15 -0
- package/lib/node_modules/lodash-es/_nativeCreate.cjs +1 -0
- package/lib/node_modules/lodash-es/_nativeCreate.mjs +9 -0
- package/lib/node_modules/lodash-es/_nativeKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_nativeKeys.mjs +9 -0
- package/lib/node_modules/lodash-es/_nodeUtil.cjs +1 -0
- package/lib/node_modules/lodash-es/_nodeUtil.mjs +13 -0
- package/lib/node_modules/lodash-es/_objectToString.cjs +1 -0
- package/lib/node_modules/lodash-es/_objectToString.mjs +11 -0
- package/lib/node_modules/lodash-es/_overArg.cjs +1 -0
- package/lib/node_modules/lodash-es/_overArg.mjs +11 -0
- package/lib/node_modules/lodash-es/_root.cjs +1 -0
- package/lib/node_modules/lodash-es/_root.mjs +9 -0
- package/lib/node_modules/lodash-es/_setCacheAdd.cjs +1 -0
- package/lib/node_modules/lodash-es/_setCacheAdd.mjs +11 -0
- package/lib/node_modules/lodash-es/_setCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_setCacheHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_setToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_setToArray.mjs +12 -0
- package/lib/node_modules/lodash-es/_stackClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackClear.mjs +12 -0
- package/lib/node_modules/lodash-es/_stackDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackDelete.mjs +10 -0
- package/lib/node_modules/lodash-es/_stackGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackGet.mjs +9 -0
- package/lib/node_modules/lodash-es/_stackHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_stackSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackSet.mjs +20 -0
- package/lib/node_modules/lodash-es/_stringToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_stringToArray.mjs +14 -0
- package/lib/node_modules/lodash-es/_stringToPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_stringToPath.mjs +14 -0
- package/lib/node_modules/lodash-es/_toKey.cjs +1 -0
- package/lib/node_modules/lodash-es/_toKey.mjs +14 -0
- package/lib/node_modules/lodash-es/_toSource.cjs +1 -0
- package/lib/node_modules/lodash-es/_toSource.mjs +19 -0
- package/lib/node_modules/lodash-es/_trimmedEndIndex.cjs +1 -0
- package/lib/node_modules/lodash-es/_trimmedEndIndex.mjs +12 -0
- package/lib/node_modules/lodash-es/_unicodeToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_unicodeToArray.mjs +21 -0
- package/lib/node_modules/lodash-es/capitalize.cjs +1 -0
- package/lib/node_modules/lodash-es/capitalize.mjs +13 -0
- package/lib/node_modules/lodash-es/concat.cjs +1 -0
- package/lib/node_modules/lodash-es/concat.mjs +18 -0
- package/lib/node_modules/lodash-es/eq.cjs +1 -0
- package/lib/node_modules/lodash-es/eq.mjs +9 -0
- package/lib/node_modules/lodash-es/first.cjs +1 -0
- package/lib/node_modules/lodash-es/first.mjs +9 -0
- package/lib/node_modules/lodash-es/flatten.cjs +1 -0
- package/lib/node_modules/lodash-es/flatten.mjs +12 -0
- package/lib/node_modules/lodash-es/flattenDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/flattenDeep.mjs +12 -0
- package/lib/node_modules/lodash-es/flattenDepth.cjs +1 -0
- package/lib/node_modules/lodash-es/flattenDepth.mjs +13 -0
- package/lib/node_modules/lodash-es/forEach.cjs +1 -0
- package/lib/node_modules/lodash-es/forEach.mjs +15 -0
- package/lib/node_modules/lodash-es/get.cjs +1 -0
- package/lib/node_modules/lodash-es/get.mjs +13 -0
- package/lib/node_modules/lodash-es/groupBy.cjs +1 -0
- package/lib/node_modules/lodash-es/groupBy.mjs +12 -0
- package/lib/node_modules/lodash-es/hasIn.cjs +1 -0
- package/lib/node_modules/lodash-es/hasIn.mjs +13 -0
- package/lib/node_modules/lodash-es/head.cjs +1 -0
- package/lib/node_modules/lodash-es/head.mjs +9 -0
- package/lib/node_modules/lodash-es/identity.cjs +1 -0
- package/lib/node_modules/lodash-es/identity.mjs +9 -0
- package/lib/node_modules/lodash-es/isArguments.cjs +1 -0
- package/lib/node_modules/lodash-es/isArguments.mjs +14 -0
- package/lib/node_modules/lodash-es/isArray.cjs +1 -0
- package/lib/node_modules/lodash-es/isArray.mjs +8 -0
- package/lib/node_modules/lodash-es/isArrayLike.cjs +1 -0
- package/lib/node_modules/lodash-es/isArrayLike.mjs +13 -0
- package/lib/node_modules/lodash-es/isBuffer.cjs +1 -0
- package/lib/node_modules/lodash-es/isBuffer.mjs +10 -0
- package/lib/node_modules/lodash-es/isEmpty.cjs +1 -0
- package/lib/node_modules/lodash-es/isEmpty.mjs +25 -0
- package/lib/node_modules/lodash-es/isFunction.cjs +1 -0
- package/lib/node_modules/lodash-es/isFunction.mjs +15 -0
- package/lib/node_modules/lodash-es/isLength.cjs +1 -0
- package/lib/node_modules/lodash-es/isLength.mjs +11 -0
- package/lib/node_modules/lodash-es/isNil.cjs +1 -0
- package/lib/node_modules/lodash-es/isNil.mjs +9 -0
- package/lib/node_modules/lodash-es/isObject.cjs +1 -0
- package/lib/node_modules/lodash-es/isObject.mjs +10 -0
- package/lib/node_modules/lodash-es/isObjectLike.cjs +1 -0
- package/lib/node_modules/lodash-es/isObjectLike.mjs +9 -0
- package/lib/node_modules/lodash-es/isSymbol.cjs +1 -0
- package/lib/node_modules/lodash-es/isSymbol.mjs +13 -0
- package/lib/node_modules/lodash-es/isTypedArray.cjs +1 -0
- package/lib/node_modules/lodash-es/isTypedArray.mjs +11 -0
- package/lib/node_modules/lodash-es/keys.cjs +1 -0
- package/lib/node_modules/lodash-es/keys.mjs +14 -0
- package/lib/node_modules/lodash-es/last.cjs +1 -0
- package/lib/node_modules/lodash-es/last.mjs +10 -0
- package/lib/node_modules/lodash-es/lodash.cjs +1 -0
- package/lib/node_modules/lodash-es/lodash.mjs +46 -0
- package/lib/node_modules/lodash-es/memoize.cjs +1 -0
- package/lib/node_modules/lodash-es/memoize.mjs +19 -0
- package/lib/node_modules/lodash-es/nth.cjs +1 -0
- package/lib/node_modules/lodash-es/nth.mjs +13 -0
- package/lib/node_modules/lodash-es/property.cjs +1 -0
- package/lib/node_modules/lodash-es/property.mjs +15 -0
- package/lib/node_modules/lodash-es/reduce.cjs +1 -0
- package/lib/node_modules/lodash-es/reduce.mjs +17 -0
- package/lib/node_modules/lodash-es/stubArray.cjs +1 -0
- package/lib/node_modules/lodash-es/stubArray.mjs +9 -0
- package/lib/node_modules/lodash-es/stubFalse.cjs +1 -0
- package/lib/node_modules/lodash-es/stubFalse.mjs +9 -0
- package/lib/node_modules/lodash-es/toFinite.cjs +1 -0
- package/lib/node_modules/lodash-es/toFinite.mjs +12 -0
- package/lib/node_modules/lodash-es/toInteger.cjs +1 -0
- package/lib/node_modules/lodash-es/toInteger.mjs +13 -0
- package/lib/node_modules/lodash-es/toNumber.cjs +1 -0
- package/lib/node_modules/lodash-es/toNumber.mjs +23 -0
- package/lib/node_modules/lodash-es/toString.cjs +1 -0
- package/lib/node_modules/lodash-es/toString.mjs +12 -0
- package/lib/node_modules/lodash-es/upperFirst.cjs +1 -0
- package/lib/node_modules/lodash-es/upperFirst.mjs +9 -0
- package/lib/node_modules/parsimmon/build/parsimmon.umd.min.cjs +16 -0
- package/lib/node_modules/parsimmon/build/parsimmon.umd.min.mjs +689 -0
- package/lib/node_modules/pluralize/pluralize.cjs +1 -0
- package/lib/node_modules/pluralize/pluralize.mjs +276 -0
- package/lib/packages/dbml-core/node_modules/lodash/lodash.cjs +20 -0
- package/lib/packages/dbml-core/node_modules/lodash/lodash.mjs +3306 -0
- package/lib/packages/dbml-core/package.json.cjs +1 -0
- package/lib/{package.json.mjs → packages/dbml-core/package.json.mjs} +1 -1
- package/lib/parse/ANTLR/ASTGeneration/helpers.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/helpers.mjs +5 -3
- package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.mjs +149 -143
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.mjs +146 -142
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.mjs +184 -181
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.mjs +149 -145
- package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.mjs +89 -85
- package/lib/parse/deprecated/dbmlParser.cjs +3 -3
- package/lib/parse/deprecated/dbmlParser.mjs +27 -25
- package/lib/parse/deprecated/mssql/base_parsers.cjs +1 -1
- package/lib/parse/deprecated/mssql/base_parsers.mjs +38 -38
- package/lib/parse/deprecated/mssql/column_definition/actions.cjs +1 -1
- package/lib/parse/deprecated/mssql/column_definition/actions.mjs +9 -6
- package/lib/parse/deprecated/mssql/column_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/column_definition/index.mjs +28 -28
- package/lib/parse/deprecated/mssql/constraint_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/constraint_definition/index.mjs +24 -24
- package/lib/parse/deprecated/mssql/expression.cjs +1 -1
- package/lib/parse/deprecated/mssql/expression.mjs +28 -27
- package/lib/parse/deprecated/mssql/fk_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/fk_definition/index.mjs +20 -20
- package/lib/parse/deprecated/mssql/index_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/index_definition/index.mjs +21 -21
- package/lib/parse/deprecated/mssql/keyword_utils.cjs +1 -1
- package/lib/parse/deprecated/mssql/keyword_utils.mjs +13 -13
- package/lib/parse/deprecated/mssql/statements/actions.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/actions.mjs +36 -33
- package/lib/parse/deprecated/mssql/statements/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/index.mjs +28 -28
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.mjs +24 -24
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/index.mjs +16 -16
- package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.mjs +31 -31
- package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.mjs +20 -20
- package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.mjs +21 -21
- package/lib/parse/deprecated/mssql/utils.cjs +1 -1
- package/lib/parse/deprecated/mssql/utils.mjs +21 -20
- package/lib/parse/deprecated/mssql/whitespaces.cjs +1 -1
- package/lib/parse/deprecated/mssql/whitespaces.mjs +11 -11
- package/lib/parse/deprecated/mysqlParser.cjs +6 -6
- package/lib/parse/deprecated/mysqlParser.mjs +20 -18
- package/lib/parse/deprecated/postgresParser.cjs +2 -2
- package/lib/parse/deprecated/postgresParser.mjs +25 -23
- package/lib/parse/deprecated/schemarbParser.cjs +10 -10
- package/lib/parse/deprecated/schemarbParser.mjs +313 -311
- package/lib/utils/version.cjs +1 -1
- package/lib/utils/version.mjs +1 -1
- package/package.json +2 -2
- package/lib/package.json.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../../../../_virtual/_rolldown/runtime.cjs"),require("../../../../model_structure/config.cjs");const e=require("../../parsers/mysql/MySqlParserVisitor.cjs"),t=require("../../parsers/mysql/MySqlParser.cjs"),n=require("../AST.cjs"),r=require("../constants.cjs"),i=require("../helpers.cjs");let a=require("lodash-es"),o=require("@dbml/parse"),s=require("antlr4");var c={NOTE:`note`},l={ADD_PK:`add_pk`,ADD_FK:`add_fk`,ADD_CHECK:`add_check`},u={TYPE:`type`},d=e=>({tableName:(0,a.last)(e),schemaName:e.length>1?e[e.length-2]:void 0}),f=e=>({fieldName:(0,a.last)(e),tableName:e.length>1?e[e.length-2]:void 0,schemaName:e.length>2?e[e.length-3]:void 0}),p=class extends e.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitCreateView(e){let n=e.fullId(),r=n?n.getText().replace(/`/g,``).split(`.`):[];if(r.length===0)return;let i=r[r.length-1],a=r.length>1?r[r.length-2]:void 0,c=e.getText();this.data.tables.push({name:i,schemaName:a,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:c,kind:`view`}});let l=e.selectStatement();if(!l)return;let u=new Set,f=new s.ParseTreeListener;f.enterEveryRule=e=>{if(!(e instanceof t.default.TableNameContext))return;let{tableName:n,schemaName:r}=d(e.accept(this)),s=(0,o.normalizeQualifiedName)(r??`public`,n);s!==(0,o.normalizeQualifiedName)(a??`public`,i)&&(u.has(s)||this.findTable(r,n)&&(u.add(s),this.data.deps.push({edges:[{upstream:{schemaName:r,tableName:n,fieldNames:[]},downstream:{schemaName:a,tableName:i,fieldNames:[]}}],note:null,custom:{}})))},s.ParseTreeWalker.DEFAULT.walk(f,l)}findTable(e,t){let n=e??`public`;return this.data.tables.find(e=>(e.schemaName??`public`)===n&&e.name===t)}visitRoot(e){return e.sqlStatements()?.accept(this),this.data}visitSqlStatements(e){e.sqlStatement().forEach(e=>{e.accept(this)})}visitSqlStatement(e){if(e.ddlStatement()){e.ddlStatement().accept(this);return}e.dmlStatement()&&e.dmlStatement().accept(this)}visitDdlStatement(e){if(e.createTable()){let t=e.createTable().accept(this);if(!t)return;let{tableName:i,schemaName:o,definitions:s,options:c}=t,[l,u,d,f,p]=s.reduce((e,t)=>{if(t.kind===r.TABLE_CONSTRAINT_KIND.FIELD)e[0].push(t.value);else if(t.kind===r.TABLE_CONSTRAINT_KIND.INDEX)e[1].push(t.value);else if(t.kind===r.TABLE_CONSTRAINT_KIND.UNIQUE)e[1].push(t.value);else if(t.kind===r.TABLE_CONSTRAINT_KIND.FK)e[2].push(t.value);else if(t.kind===r.TABLE_CONSTRAINT_KIND.CHECK)e[4].push(t.value);else if(t.kind===r.TABLE_CONSTRAINT_KIND.PK){let n=t.value;n.columns.length>1?e[1].push(t.value):e[3]=n}return e},[[],[],[],null,[]]),m=l.map(e=>{let{field:t,inlineRefs:r}=e;if(t.type.type_name?.toLowerCase()===`enum`){let e=t.type.args.map(e=>({name:e.replace(/'|"|`/g,``).trim()})),r=new n.Enum({name:`${i}_${t.name}_enum`,schemaName:o,values:e});t.type.type_name=r.name,t.type.schemaName=r.schemaName,this.data.enums.push(r)}return r.forEach(e=>{e.endpoints[0].tableName=i,e.endpoints[0].schemaName=o,e.endpoints[0].fieldNames=[t.name]}),r});this.data.refs.push(...(0,a.flatten)(m)),this.data.refs.push(...d.map(e=>(e.endpoints[0].tableName=i,e.endpoints[0].schemaName=o,e)));let h=c.reduce((e,t)=>(e[t.kind]=t.value,e),{}),g=new n.Table({name:i,schemaName:o,fields:l.map(e=>e.field),indexes:u,checks:p,...h});if(f){let e=g.fields.find(e=>e.name===f.columns[0].value);e&&(e.pk=!0)}this.data.tables.push(g.toJSON())}else e.alterTable()?e.alterTable().accept(this):e.createIndex()&&e.createIndex().accept(this)}visitCopyCreateTable(){}visitQueryCreateTable(e){let{tableName:t,schemaName:n}=d(e.tableName().accept(this));return e.createDefinitions()?{tableName:t,schemaName:n,definitions:e.createDefinitions().accept(this).filter(e=>e?.kind),options:e.tableOption()?.map(e=>e.accept(this)).filter(e=>e?.kind)||[]}:null}visitColumnCreateTable(e){let{tableName:t,schemaName:n}=d(e.tableName().accept(this));return{tableName:t,schemaName:n,definitions:e.createDefinitions().accept(this).filter(e=>e?.kind),options:e.tableOption().map(e=>e.accept(this)).filter(e=>e?.kind)}}visitTableOptionComment(e){let t=e.STRING_LITERAL().getText();return{kind:c.NOTE,value:{value:t.slice(1,t.length-1)}}}visitTableName(e){return e.fullId().accept(this)}visitFullId(e){let t=e.uid().map(e=>e.accept(this));if(e.DOT_ID()){let n=e.DOT_ID().getText();t.push(n.slice(1))}return t}visitUid(e){if(e.simpleId())return e.simpleId().accept(this);let t=e.getChild(0).getText();return t.slice(1,t.length-1)}visitSimpleId(e){return e.getChild(0).getText()}visitCreateDefinitions(e){return e.createDefinition().map(e=>e.accept(this))}visitColumnDeclaration(e){let{fieldName:t}=f(e.fullColumnName().accept(this)),{type:i,constraints:a}=e.columnDefinition().accept(this),o=new n.Field({name:t,type:i,...a});return{kind:r.TABLE_CONSTRAINT_KIND.FIELD,value:{field:o,inlineRefs:a.inlineRefs}}}visitConstraintDeclaration(e){return e.tableConstraint().accept(this)}visitIndexDeclaration(e){return e.indexColumnDefinition().accept(this)}visitFullColumnName(e){let t=[];return e.uid()&&t.push(e.uid().accept(this)),t.push(...e.dottedId().map(e=>e.accept(this))),t}visitDottedId(e){return e.DOT_ID()?e.DOT_ID().getText().slice(1):e.uid().accept(this)}visitColumnDefinition(e){let t=e.dataType().accept(this),n={inlineRefs:[],checks:[]};return e.columnConstraint().forEach(e=>{let t=e.accept(this);if(t){if(t.kind===r.COLUMN_CONSTRAINT_KIND.INLINE_REF){n.inlineRefs.push(t.value);return}if(t.kind===r.COLUMN_CONSTRAINT_KIND.CHECK){n.checks.push(t.value);return}n[t.kind]=t.value}}),{type:t,constraints:n}}visitStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitNationalVaryingStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitNationalStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitDimensionDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),e.lengthTwoDimension()&&(t+=e.lengthTwoDimension().getText()),e.lengthTwoOptionalDimension()&&(t+=e.lengthTwoOptionalDimension().getText()),{type_name:t,schemaName:null}}visitSimpleDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitCollectionDataType(e){return e.SET()?{type_name:e.typeName.text+e.collectionOptions().getText(),schemaName:null}:{type_name:e.typeName.text,args:e.collectionOptions().accept(this),schemaName:null}}visitCollectionOptions(e){return e.STRING_LITERAL().map(e=>e.getText())}visitSpatialDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitLongVarcharDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitLongVarbinaryDataType(e){return{type_name:`${e.LONG().getText()} ${e.VARBINARY().getText()}`,schemaName:null}}visitNullColumnConstraint(e){return e.nullNotnull().accept(this)}visitNullNotnull(e){let t=!1;return e.NOT()&&(t=!0),{kind:r.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:t}}visitDefaultColumnConstraint(e){return{kind:r.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.defaultValue().accept(this)}}visitAutoIncrementColumnConstraint(e){return e.AUTO_INCREMENT()?{kind:r.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0}:null}visitPrimaryKeyColumnConstraint(e){return e.PRIMARY()?{kind:r.COLUMN_CONSTRAINT_KIND.PK,value:!0}:null}visitUniqueKeyColumnConstraint(){return{kind:r.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0}}visitCommentColumnConstraint(e){let t=e.STRING_LITERAL().getText();return{kind:r.COLUMN_CONSTRAINT_KIND.NOTE,value:{value:t.slice(1,t.length-1)}}}visitReferenceColumnConstraint(e){let t=e.referenceDefinition().accept(this);return{kind:r.COLUMN_CONSTRAINT_KIND.INLINE_REF,value:t}}visitCheckColumnConstraint(e){let t=e.name?.accept(this),n=i.getOriginalText(e.expression());return{kind:r.COLUMN_CONSTRAINT_KIND.CHECK,value:{expression:n,name:t}}}visitDefaultValue(e){if(e.NULL_LITERAL())return{value:e.NULL_LITERAL().getText().toLowerCase(),type:r.DATA_TYPE.BOOLEAN};if(e.expression())return{value:e.expression().getText(),type:r.DATA_TYPE.EXPRESSION};if(e.constant()){if(e.unaryOperator())return{value:e.getText(),type:r.DATA_TYPE.EXPRESSION};let{value:t,type:n}=e.constant().accept(this);return{value:t,type:n}}return e.currentTimestamp()?.length?{value:e.currentTimestamp()[0].getText(),type:r.DATA_TYPE.EXPRESSION}:{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitConstant(e){if(e.stringLiteral()){let t=e.stringLiteral().getText();return{value:t.slice(1,t.length-1),type:r.DATA_TYPE.STRING}}return e.decimalLiteral()?e.getChildCount()>1?{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}:{value:e.decimalLiteral().getText(),type:r.DATA_TYPE.NUMBER}:e.hexadecimalLiteral()?{value:e.hexadecimalLiteral().getText(),type:r.DATA_TYPE.NUMBER}:e.booleanLiteral()?{value:e.booleanLiteral().getText(),type:r.DATA_TYPE.BOOLEAN}:e.REAL_LITERAL()?{value:e.REAL_LITERAL().getText(),type:r.DATA_TYPE.NUMBER}:e.BIT_STRING()?{value:e.BIT_STRING().getText(),type:r.DATA_TYPE.STRING}:e.NULL_LITERAL()?{value:e.NULL_LITERAL().getText().toLowerCase(),type:r.DATA_TYPE.BOOLEAN}:{value:e.getText(),type:r.DATA_TYPE.STRING}}visitReferenceDefinition(e){let{tableName:t,schemaName:r}=d(e.tableName().accept(this));if(!e.indexColumnNames())return null;let i=e.referenceAction()?.accept(this)||{},a=e.indexColumnNames().accept(this).map(e=>e.value);return new n.Ref({endpoints:[new n.Endpoint({tableName:null,schemaName:null,fieldNames:null,relation:o.CARDINALITY_MANY}),new n.Endpoint({tableName:t,schemaName:r,fieldNames:a,relation:o.CARDINALITY_MAYBE})],onUpdate:i.onUpdate,onDelete:i.onDelete})}visitIndexColumnNames(e){return e.indexColumnName().map(e=>e.accept(this))}visitIndexColumnName(e){if(e.uid())return{type:r.CONSTRAINT_TYPE.COLUMN,value:e.uid().accept(this)};if(e.STRING_LITERAL()){let t=e.STRING_LITERAL().getText();return{type:r.CONSTRAINT_TYPE.STRING,value:t.slice(1,t.length-1)}}return{type:r.CONSTRAINT_TYPE.EXPRESSION,value:e.expression().getText()}}visitReferenceAction(e){let t={};return t.onDelete=e.onDelete?.accept(this),t.onUpdate=e.onUpdate?.accept(this),t}visitReferenceControlType(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>`${t}${e.getChild(n).getText()} `,``);return t.slice(0,t.length-1)}visitPrimaryKeyTableConstraint(e){let t=e.name?.accept(this)||e.index?.accept(this),i=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(i=t.value)}let a=e.indexColumnNames().accept(this);return{kind:r.TABLE_CONSTRAINT_KIND.PK,value:new n.Index({name:t,pk:!0,columns:a,type:i})}}visitUniqueKeyTableConstraint(e){let t=e.name?.accept(this)||e.index?.accept(this),i=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(i=t.value)}let a=e.indexColumnNames().accept(this);return{kind:r.TABLE_CONSTRAINT_KIND.UNIQUE,value:new n.Index({name:t,unique:!0,columns:a,type:i})}}visitForeignKeyTableConstraint(e){let t=e.referenceDefinition().accept(this);return t.name=e.name?.accept(this)||e.index?.accept(this),t.endpoints[0].fieldNames=e.indexColumnNames().accept(this).map(e=>e.value),{kind:r.TABLE_CONSTRAINT_KIND.FK,value:t}}visitCheckTableConstraint(e){let t=e.name?.accept(this),n=i.getOriginalText(e.expression());return{kind:r.TABLE_CONSTRAINT_KIND.CHECK,value:{expression:n,name:t}}}visitIndexType(e){return e.getChild(1).getText()}visitIndexOption(e){return e.indexType()?{kind:u.TYPE,value:e.indexType().accept(this)}:null}visitSimpleIndexDeclaration(e){let t=e.uid()?.accept(this),i=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(i=t.value)}let a=e.indexColumnNames().accept(this);return{kind:r.TABLE_CONSTRAINT_KIND.INDEX,value:new n.Index({name:t,columns:a,type:i})}}visitSpecialIndexDeclaration(e){let t=e.uid()?.accept(this),i=null;if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(i=t.value)}let a=e.indexColumnNames().accept(this);return{kind:r.TABLE_CONSTRAINT_KIND.INDEX,value:new n.Index({name:t,columns:a,type:i})}}visitAlterTable(e){let{tableName:t,schemaName:n}=d(e.tableName().accept(this)),r=this.findTable(n,t);r&&(e.alterSpecification()?.map(e=>e.accept(this)).filter(e=>e?.kind)||[]).forEach(e=>{if(e.kind===l.ADD_PK){let t=e.value;if(t.columns.length>1)return r.indexes.push(t);let n=r.fields.find(e=>e.name===t.columns[0].value);n.pk=!0}else if(e.kind===l.ADD_FK){let r=e.value;r.endpoints[0].schemaName=n,r.endpoints[0].tableName=t,this.data.refs.push(r)}else e.kind===l.ADD_CHECK&&r.checks.push(e.value);return null})}visitAlterByAddPrimaryKey(e){let t=e.name?.accept(this)||e.index?.accept(this),r=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(r=t.value)}let i=e.indexColumnNames().accept(this);return{kind:l.ADD_PK,value:new n.Index({name:t,pk:!0,columns:i,type:r})}}visitAlterByAddForeignKey(e){let t=e.referenceDefinition().accept(this);return t.name=e.name?.accept(this)||e.index?.accept(this),t.endpoints[0].fieldNames=e.indexColumnNames().accept(this).map(e=>e.value),{kind:l.ADD_FK,value:t}}visitAlterByAddCheckTableConstraint(e){let t=e.name?.accept(this),n=i.getOriginalText(e.expression());return{kind:l.ADD_CHECK,value:{expression:n,name:t}}}visitCreateIndex(e){let{tableName:t,schemaName:r}=d(e.tableName().accept(this)),i=this.findTable(r,t);if(!i)return;let a=e.uid().accept(this),o=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===u.TYPE);t&&(o=t.value)}let s=new n.Index({name:a,columns:e.indexColumnNames().accept(this),unique:!!e.UNIQUE(),type:o});i.indexes.push(s)}visitDmlStatement(e){e.insertStatement()&&e.insertStatement().accept(this)}visitInsertStatement(e){let t=e.tableName().accept(this),r=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,o=new n.TableRecord({schemaName:i,tableName:r,columns:e.fullColumnNameList()?e.fullColumnNameList().accept(this):this.findTable(i,r)?.fields.map(e=>e.name)||[],values:e.insertStatementValue().accept(this)});this.data.records.push(o)}visitFullColumnNameList(e){return(0,a.flattenDepth)(e.fullColumnName().map(e=>e.accept(this)),1)}visitInsertStatementValue(e){return e.expressionsWithDefaults().map(e=>(0,a.flattenDepth)(e.accept(this),1))}visitExpressionsWithDefaults(e){return e.expressionOrDefault().map(e=>(0,a.flattenDepth)(e.accept(this),3))}visitFunctionCallExpressionAtom(e){return{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}};exports.default=p;
|
|
1
|
+
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../node_modules/lodash-es/flatten.cjs"),t=require("../../../../node_modules/lodash-es/last.cjs"),n=require("../../../../node_modules/lodash-es/flattenDepth.cjs"),r=require("../../../../node_modules/lodash-es/lodash.cjs");require("../../../../model_structure/config.cjs");const i=require("../../parsers/mysql/MySqlParserVisitor.cjs"),a=require("../../parsers/mysql/MySqlParser.cjs"),o=require("../AST.cjs"),s=require("../constants.cjs"),c=require("../helpers.cjs");let l=require("@dbml/parse"),u=require("antlr4");r.init_lodash();var d={NOTE:`note`},f={ADD_PK:`add_pk`,ADD_FK:`add_fk`,ADD_CHECK:`add_check`},p={TYPE:`type`},m=e=>({tableName:t.default(e),schemaName:e.length>1?e[e.length-2]:void 0}),h=e=>({fieldName:t.default(e),tableName:e.length>1?e[e.length-2]:void 0,schemaName:e.length>2?e[e.length-3]:void 0}),g=class extends i.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitCreateView(e){let t=e.fullId(),n=t?t.getText().replace(/`/g,``).split(`.`):[];if(n.length===0)return;let r=n[n.length-1],i=n.length>1?n[n.length-2]:void 0,o=e.getText();this.data.tables.push({name:r,schemaName:i,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:o,kind:`view`}});let s=e.selectStatement();if(!s)return;let c=new Set,d=new u.ParseTreeListener;d.enterEveryRule=e=>{if(!(e instanceof a.default.TableNameContext))return;let{tableName:t,schemaName:n}=m(e.accept(this)),o=(0,l.normalizeQualifiedName)(n??`public`,t);o!==(0,l.normalizeQualifiedName)(i??`public`,r)&&(c.has(o)||this.findTable(n,t)&&(c.add(o),this.data.deps.push({edges:[{upstream:{schemaName:n,tableName:t,fieldNames:[]},downstream:{schemaName:i,tableName:r,fieldNames:[]}}],note:null,custom:{}})))},u.ParseTreeWalker.DEFAULT.walk(d,s)}findTable(e,t){let n=e??`public`;return this.data.tables.find(e=>(e.schemaName??`public`)===n&&e.name===t)}visitRoot(e){return e.sqlStatements()?.accept(this),this.data}visitSqlStatements(e){e.sqlStatement().forEach(e=>{e.accept(this)})}visitSqlStatement(e){if(e.ddlStatement()){e.ddlStatement().accept(this);return}e.dmlStatement()&&e.dmlStatement().accept(this)}visitDdlStatement(t){if(t.createTable()){let n=t.createTable().accept(this);if(!n)return;let{tableName:r,schemaName:i,definitions:a,options:c}=n,[l,u,d,f,p]=a.reduce((e,t)=>{if(t.kind===s.TABLE_CONSTRAINT_KIND.FIELD)e[0].push(t.value);else if(t.kind===s.TABLE_CONSTRAINT_KIND.INDEX)e[1].push(t.value);else if(t.kind===s.TABLE_CONSTRAINT_KIND.UNIQUE)e[1].push(t.value);else if(t.kind===s.TABLE_CONSTRAINT_KIND.FK)e[2].push(t.value);else if(t.kind===s.TABLE_CONSTRAINT_KIND.CHECK)e[4].push(t.value);else if(t.kind===s.TABLE_CONSTRAINT_KIND.PK){let n=t.value;n.columns.length>1?e[1].push(t.value):e[3]=n}return e},[[],[],[],null,[]]),m=l.map(e=>{let{field:t,inlineRefs:n}=e;if(t.type.type_name?.toLowerCase()===`enum`){let e=t.type.args.map(e=>({name:e.replace(/'|"|`/g,``).trim()})),n=new o.Enum({name:`${r}_${t.name}_enum`,schemaName:i,values:e});t.type.type_name=n.name,t.type.schemaName=n.schemaName,this.data.enums.push(n)}return n.forEach(e=>{e.endpoints[0].tableName=r,e.endpoints[0].schemaName=i,e.endpoints[0].fieldNames=[t.name]}),n});this.data.refs.push(...e.default(m)),this.data.refs.push(...d.map(e=>(e.endpoints[0].tableName=r,e.endpoints[0].schemaName=i,e)));let h=c.reduce((e,t)=>(e[t.kind]=t.value,e),{}),g=new o.Table({name:r,schemaName:i,fields:l.map(e=>e.field),indexes:u,checks:p,...h});if(f){let e=g.fields.find(e=>e.name===f.columns[0].value);e&&(e.pk=!0)}this.data.tables.push(g.toJSON())}else t.alterTable()?t.alterTable().accept(this):t.createIndex()&&t.createIndex().accept(this)}visitCopyCreateTable(){}visitQueryCreateTable(e){let{tableName:t,schemaName:n}=m(e.tableName().accept(this));return e.createDefinitions()?{tableName:t,schemaName:n,definitions:e.createDefinitions().accept(this).filter(e=>e?.kind),options:e.tableOption()?.map(e=>e.accept(this)).filter(e=>e?.kind)||[]}:null}visitColumnCreateTable(e){let{tableName:t,schemaName:n}=m(e.tableName().accept(this));return{tableName:t,schemaName:n,definitions:e.createDefinitions().accept(this).filter(e=>e?.kind),options:e.tableOption().map(e=>e.accept(this)).filter(e=>e?.kind)}}visitTableOptionComment(e){let t=e.STRING_LITERAL().getText();return{kind:d.NOTE,value:{value:t.slice(1,t.length-1)}}}visitTableName(e){return e.fullId().accept(this)}visitFullId(e){let t=e.uid().map(e=>e.accept(this));if(e.DOT_ID()){let n=e.DOT_ID().getText();t.push(n.slice(1))}return t}visitUid(e){if(e.simpleId())return e.simpleId().accept(this);let t=e.getChild(0).getText();return t.slice(1,t.length-1)}visitSimpleId(e){return e.getChild(0).getText()}visitCreateDefinitions(e){return e.createDefinition().map(e=>e.accept(this))}visitColumnDeclaration(e){let{fieldName:t}=h(e.fullColumnName().accept(this)),{type:n,constraints:r}=e.columnDefinition().accept(this),i=new o.Field({name:t,type:n,...r});return{kind:s.TABLE_CONSTRAINT_KIND.FIELD,value:{field:i,inlineRefs:r.inlineRefs}}}visitConstraintDeclaration(e){return e.tableConstraint().accept(this)}visitIndexDeclaration(e){return e.indexColumnDefinition().accept(this)}visitFullColumnName(e){let t=[];return e.uid()&&t.push(e.uid().accept(this)),t.push(...e.dottedId().map(e=>e.accept(this))),t}visitDottedId(e){return e.DOT_ID()?e.DOT_ID().getText().slice(1):e.uid().accept(this)}visitColumnDefinition(e){let t=e.dataType().accept(this),n={inlineRefs:[],checks:[]};return e.columnConstraint().forEach(e=>{let t=e.accept(this);if(t){if(t.kind===s.COLUMN_CONSTRAINT_KIND.INLINE_REF){n.inlineRefs.push(t.value);return}if(t.kind===s.COLUMN_CONSTRAINT_KIND.CHECK){n.checks.push(t.value);return}n[t.kind]=t.value}}),{type:t,constraints:n}}visitStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitNationalVaryingStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitNationalStringDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),{type_name:t,schemaName:null}}visitDimensionDataType(e){let t=e.typeName.text;return e.lengthOneDimension()&&(t+=e.lengthOneDimension().getText()),e.lengthTwoDimension()&&(t+=e.lengthTwoDimension().getText()),e.lengthTwoOptionalDimension()&&(t+=e.lengthTwoOptionalDimension().getText()),{type_name:t,schemaName:null}}visitSimpleDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitCollectionDataType(e){return e.SET()?{type_name:e.typeName.text+e.collectionOptions().getText(),schemaName:null}:{type_name:e.typeName.text,args:e.collectionOptions().accept(this),schemaName:null}}visitCollectionOptions(e){return e.STRING_LITERAL().map(e=>e.getText())}visitSpatialDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitLongVarcharDataType(e){return{type_name:e.typeName.text,schemaName:null}}visitLongVarbinaryDataType(e){return{type_name:`${e.LONG().getText()} ${e.VARBINARY().getText()}`,schemaName:null}}visitNullColumnConstraint(e){return e.nullNotnull().accept(this)}visitNullNotnull(e){let t=!1;return e.NOT()&&(t=!0),{kind:s.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:t}}visitDefaultColumnConstraint(e){return{kind:s.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.defaultValue().accept(this)}}visitAutoIncrementColumnConstraint(e){return e.AUTO_INCREMENT()?{kind:s.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0}:null}visitPrimaryKeyColumnConstraint(e){return e.PRIMARY()?{kind:s.COLUMN_CONSTRAINT_KIND.PK,value:!0}:null}visitUniqueKeyColumnConstraint(){return{kind:s.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0}}visitCommentColumnConstraint(e){let t=e.STRING_LITERAL().getText();return{kind:s.COLUMN_CONSTRAINT_KIND.NOTE,value:{value:t.slice(1,t.length-1)}}}visitReferenceColumnConstraint(e){let t=e.referenceDefinition().accept(this);return{kind:s.COLUMN_CONSTRAINT_KIND.INLINE_REF,value:t}}visitCheckColumnConstraint(e){let t=e.name?.accept(this),n=c.getOriginalText(e.expression());return{kind:s.COLUMN_CONSTRAINT_KIND.CHECK,value:{expression:n,name:t}}}visitDefaultValue(e){if(e.NULL_LITERAL())return{value:e.NULL_LITERAL().getText().toLowerCase(),type:s.DATA_TYPE.BOOLEAN};if(e.expression())return{value:e.expression().getText(),type:s.DATA_TYPE.EXPRESSION};if(e.constant()){if(e.unaryOperator())return{value:e.getText(),type:s.DATA_TYPE.EXPRESSION};let{value:t,type:n}=e.constant().accept(this);return{value:t,type:n}}return e.currentTimestamp()?.length?{value:e.currentTimestamp()[0].getText(),type:s.DATA_TYPE.EXPRESSION}:{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitConstant(e){if(e.stringLiteral()){let t=e.stringLiteral().getText();return{value:t.slice(1,t.length-1),type:s.DATA_TYPE.STRING}}return e.decimalLiteral()?e.getChildCount()>1?{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}:{value:e.decimalLiteral().getText(),type:s.DATA_TYPE.NUMBER}:e.hexadecimalLiteral()?{value:e.hexadecimalLiteral().getText(),type:s.DATA_TYPE.NUMBER}:e.booleanLiteral()?{value:e.booleanLiteral().getText(),type:s.DATA_TYPE.BOOLEAN}:e.REAL_LITERAL()?{value:e.REAL_LITERAL().getText(),type:s.DATA_TYPE.NUMBER}:e.BIT_STRING()?{value:e.BIT_STRING().getText(),type:s.DATA_TYPE.STRING}:e.NULL_LITERAL()?{value:e.NULL_LITERAL().getText().toLowerCase(),type:s.DATA_TYPE.BOOLEAN}:{value:e.getText(),type:s.DATA_TYPE.STRING}}visitReferenceDefinition(e){let{tableName:t,schemaName:n}=m(e.tableName().accept(this));if(!e.indexColumnNames())return null;let r=e.referenceAction()?.accept(this)||{},i=e.indexColumnNames().accept(this).map(e=>e.value);return new o.Ref({endpoints:[new o.Endpoint({tableName:null,schemaName:null,fieldNames:null,relation:l.CARDINALITY_MANY}),new o.Endpoint({tableName:t,schemaName:n,fieldNames:i,relation:l.CARDINALITY_MAYBE})],onUpdate:r.onUpdate,onDelete:r.onDelete})}visitIndexColumnNames(e){return e.indexColumnName().map(e=>e.accept(this))}visitIndexColumnName(e){if(e.uid())return{type:s.CONSTRAINT_TYPE.COLUMN,value:e.uid().accept(this)};if(e.STRING_LITERAL()){let t=e.STRING_LITERAL().getText();return{type:s.CONSTRAINT_TYPE.STRING,value:t.slice(1,t.length-1)}}return{type:s.CONSTRAINT_TYPE.EXPRESSION,value:e.expression().getText()}}visitReferenceAction(e){let t={};return t.onDelete=e.onDelete?.accept(this),t.onUpdate=e.onUpdate?.accept(this),t}visitReferenceControlType(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>`${t}${e.getChild(n).getText()} `,``);return t.slice(0,t.length-1)}visitPrimaryKeyTableConstraint(e){let t=e.name?.accept(this)||e.index?.accept(this),n=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(n=t.value)}let r=e.indexColumnNames().accept(this);return{kind:s.TABLE_CONSTRAINT_KIND.PK,value:new o.Index({name:t,pk:!0,columns:r,type:n})}}visitUniqueKeyTableConstraint(e){let t=e.name?.accept(this)||e.index?.accept(this),n=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(n=t.value)}let r=e.indexColumnNames().accept(this);return{kind:s.TABLE_CONSTRAINT_KIND.UNIQUE,value:new o.Index({name:t,unique:!0,columns:r,type:n})}}visitForeignKeyTableConstraint(e){let t=e.referenceDefinition().accept(this);return t.name=e.name?.accept(this)||e.index?.accept(this),t.endpoints[0].fieldNames=e.indexColumnNames().accept(this).map(e=>e.value),{kind:s.TABLE_CONSTRAINT_KIND.FK,value:t}}visitCheckTableConstraint(e){let t=e.name?.accept(this),n=c.getOriginalText(e.expression());return{kind:s.TABLE_CONSTRAINT_KIND.CHECK,value:{expression:n,name:t}}}visitIndexType(e){return e.getChild(1).getText()}visitIndexOption(e){return e.indexType()?{kind:p.TYPE,value:e.indexType().accept(this)}:null}visitSimpleIndexDeclaration(e){let t=e.uid()?.accept(this),n=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(n=t.value)}let r=e.indexColumnNames().accept(this);return{kind:s.TABLE_CONSTRAINT_KIND.INDEX,value:new o.Index({name:t,columns:r,type:n})}}visitSpecialIndexDeclaration(e){let t=e.uid()?.accept(this),n=null;if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(n=t.value)}let r=e.indexColumnNames().accept(this);return{kind:s.TABLE_CONSTRAINT_KIND.INDEX,value:new o.Index({name:t,columns:r,type:n})}}visitAlterTable(e){let{tableName:t,schemaName:n}=m(e.tableName().accept(this)),r=this.findTable(n,t);r&&(e.alterSpecification()?.map(e=>e.accept(this)).filter(e=>e?.kind)||[]).forEach(e=>{if(e.kind===f.ADD_PK){let t=e.value;if(t.columns.length>1)return r.indexes.push(t);let n=r.fields.find(e=>e.name===t.columns[0].value);n.pk=!0}else if(e.kind===f.ADD_FK){let r=e.value;r.endpoints[0].schemaName=n,r.endpoints[0].tableName=t,this.data.refs.push(r)}else e.kind===f.ADD_CHECK&&r.checks.push(e.value);return null})}visitAlterByAddPrimaryKey(e){let t=e.name?.accept(this)||e.index?.accept(this),n=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(n=t.value)}let r=e.indexColumnNames().accept(this);return{kind:f.ADD_PK,value:new o.Index({name:t,pk:!0,columns:r,type:n})}}visitAlterByAddForeignKey(e){let t=e.referenceDefinition().accept(this);return t.name=e.name?.accept(this)||e.index?.accept(this),t.endpoints[0].fieldNames=e.indexColumnNames().accept(this).map(e=>e.value),{kind:f.ADD_FK,value:t}}visitAlterByAddCheckTableConstraint(e){let t=e.name?.accept(this),n=c.getOriginalText(e.expression());return{kind:f.ADD_CHECK,value:{expression:n,name:t}}}visitCreateIndex(e){let{tableName:t,schemaName:n}=m(e.tableName().accept(this)),r=this.findTable(n,t);if(!r)return;let i=e.uid().accept(this),a=e.indexType()?.accept(this);if(e.indexOption()?.length){let t=e.indexOption().map(e=>e.accept(this)).find(e=>e?.kind===p.TYPE);t&&(a=t.value)}let s=new o.Index({name:i,columns:e.indexColumnNames().accept(this),unique:!!e.UNIQUE(),type:a});r.indexes.push(s)}visitDmlStatement(e){e.insertStatement()&&e.insertStatement().accept(this)}visitInsertStatement(e){let n=e.tableName().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=new o.TableRecord({schemaName:i,tableName:r,columns:e.fullColumnNameList()?e.fullColumnNameList().accept(this):this.findTable(i,r)?.fields.map(e=>e.name)||[],values:e.insertStatementValue().accept(this)});this.data.records.push(a)}visitFullColumnNameList(e){return n.default(e.fullColumnName().map(e=>e.accept(this)),1)}visitInsertStatementValue(e){return e.expressionsWithDefaults().map(e=>n.default(e.accept(this),1))}visitExpressionsWithDefaults(e){return e.expressionOrDefault().map(e=>n.default(e.accept(this),3))}visitFunctionCallExpressionAtom(e){return{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}};exports.default=g;
|