So far managed to come up with this.
I think I this may be sufficient for now. It may not give the script. But has the info I need.
SELECT d.name + '.' + a.[name] as 'Table',c.name,
CASE WHEN
c.name in ( 'varchar', 'nvarchar','ntext','char' ) THEN b.max_length
ELSE
NULL
END
as [LENGTH],
CASE WHEN b.is_nullable= 1 THEN 'NULL' ELSE 'NOT NULL' END as NULLABLE
FROM sys.objects a
INNER JOIN sys.columns b
ON a.[object_id] = b.[object_id]
INNER JOIN sys.types c
ON c.[system_type_id] = b.[system_type_id]
INNER JOIN sys.schemas d on ( d.schema_id = a.schema_id )
WHERE
a.name like 'fin_dashboard_visit_counts'